package com.atguigu.bigdata.scala.chapter03;

public class Scala04_Oper_Java {
    public static void main(String[] args) {

        // TODO 位运算符
        // 所谓的位运算符，其实就是二机制的运算规则

        // TODO 1. HashMap从JDK1.8之后会有红黑二叉树结构，极限情况下，HashMap存放多少条数据会变结构？
        // 链表（查询效率低） => 红黑二叉树（查询效率快）
        // 极限情况下，HashMap中放置11条数据，就会形成红黑二叉树结构
        // 8(链表的长度) + 64(底层数据结构的容量)
        // HashMap =>
        // HashMap底层计算数据所在的位置采用的算法：hash(key.hashCode) & ( length - 1 )
        // 8(16) => 9(16*2) => 10(32*2) => 11(64) => Tree
        // TODO 2. HashMap扩容时，为什么是容量的2倍？
        // 通过原理，HashMap底层的数据容量必须为2的N次方，为了能保证这一点，所以扩容后的容量也应该是2的N次方

    }
}
